package com.spa.application.dto.shop;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.spa.application.dto.member.MemberOrderExtDTO;
import com.spa.infrastructure.enums.dict.order.OrderOperStatusEnum;
import com.spa.infrastructure.enums.dict.order.OrderStatusEnum;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
@JsonInclude
public class ShopOrderDetailsDTO {

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    private String orderCode;

    private OrderStatusEnum orderStatus;

    private OrderOperStatusEnum orderOperStatus;

    private String travelType;

    private String travelPrice;

    private String travelDistance;

    private Integer couponDeduction;

    private Integer durationSum;

    private Integer total;

    private String priceType;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date takeTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date departTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date arriveTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date extraTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date appointTime;

    private String cancelReason;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;

    private String remark;

    private List<MemberOrderExtDTO> orderExtList;

}
